/**
 * 容器默认高度
 */
const containerHeight = 500;
/**
 * 分割线容器默认宽度
 */
const spaceWH = 12;
/**
 * 布局容器，用于结构布局，不可见
 */
const container = {
  id: "",
  direction: "TD", //横向TD，纵向LD
  type: "container", //容器类型
  width: 100, //容器宽度
  height: containerHeight, //容器高度(最外层容器高度单位是px，内部容器高度单位时百分比)
  minWidth: 200, //最小宽度
  minHeight: 96, //最小高度
  parentId: "", //父容器id
  space: 0,
  spaceX: 0, //横向间距
  spaceY: 0, //纵向间距
  offsetX: 0, //横向偏移量
  offsetY: 0, //纵向偏移量
  children: [], //子容器
  isOutContainer: false, //用于区分最外层容器
  lastDirection: "TD", //删除时记录上一次容器的方向 横向TD，纵向LD
  isMove: false, //根据该属性判断鼠标松开时重新渲染图表
};

/**
 * 分割线容器，用于设置容器之间的上下间距
 */
const space = {
  id: "",
  direction: "TD", //横向TD，纵向LD
  type: "space", //容器类型
  lastDataId: "", //前一个容器节点id
  nextDataId: "", //后一个容器节点id
  parentId: "", //父容器id
  spaceWH: spaceWH,
};

/**
 * 图表相关数据及配置项
 */
const chartForm = {
  chartId: "", //图表id
  chartName: "", //图表名称
  chartType: "", //图表类型
  variableConfig: [], //变量值配置项
  selectVarName: "",
  selectVarName2: "",
};

/**
 * 图表容器，展示图表数据
 */
const chart = {
  id: "",
  direction: "TD", //横向TD，纵向LD
  type: "chart", //容器类型
  parentId: "", //父容器id
  height: 100, //容器宽度
  width: 100, //容器高度
  minWidth: 200, //最小宽度
  minHeight: 96, //最小高度
  space: 0,
  spaceX: 0, //横向间距
  spaceY: 0, //纵向间距
  relativeId: "", //插入新容器时与插入槽中的容器相关联
  isMove: false, //根据该属性判断鼠标松开时重新渲染图表
  isHiddenTitle: false, //是否隐藏标题
  chartForm, //图表数据
};

/**
 * 全局配置组件
 * @type {{id: string, type: string, children: []}}
 */
const filter = {
  id: "",
  type: "filterWrap", // 用于标记渲染对应组件
  children: [],
};

const AIOption = {};

export { container, space, chart, chartForm, filter, spaceWH };
